package com.weibo4j.api.req.status;

import com.weibo4j.api.WeiboRequest;
import com.weibo4j.api.WeiboResponse;
import com.weibo4j.api.annotation.Param;
import com.weibo4j.api.util.RequestType;

public abstract class StatusTimelineRequest<T extends WeiboResponse> extends WeiboRequest{

    private Integer count;

    private Integer page = 1;

    private Integer baseApp = 0;
    
    private Long    sinceId;
    
    private Long    maxId;
    
    private Integer feature;

    private Integer trimUser;
    
    @Param("since_id")
    public Long getSinceId() {
        return sinceId;
    }

    public void setSinceId(Long sinceId) {
        this.sinceId = sinceId;
    }

    @Param("max_id")
    public Long getMaxId() {
        return maxId;
    }

    public void setMaxId(Long maxId) {
        this.maxId = maxId;
    }

    public Integer getFeature() {
        return feature;
    }

    public void setFeature(Integer feature) {
        this.feature = feature;
    }

    @Param("trim_user")
    public Integer getTrimUser() {
        return trimUser;
    }

    public void setTrimUser(Integer trimUser) {
        this.trimUser = trimUser;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    @Param("base_app")
    public Integer getBaseApp() {
        return baseApp;
    }

    public void setBaseApp(Integer baseApp) {
        this.baseApp = baseApp;
    }
    
    @Override
    public RequestType requestType() {
        return RequestType.GET;
    }
}
